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

📄 menuserver.h

📁 国内著名网络游戏dragon的服务端完整源码 内附完整数据库结构
💻 H
📖 第 1 页 / 共 3 页
字号:
#ifndef __MenuServer_h__
#define __MenuServer_h__


#define KM_INFO	0
#define KM_FAIL	1
#define KM_OK	2
#define KM_BBS	3

#define QUEST_START			51

/////////////////////////////////////////
// BBS 版快.. 林肺 眠墨窍绰单 荤侩窍霸 瞪淀 ( 捞抚窍绊父 鞍捞 逞绢埃促. )
#define BA_GM_REGIST	1	// gm 眠墨 傈眉 傍瘤




//###########################################################
// SendServerResult俊辑 荤侩且 define
#define CM_REPAIR			0		//	CM_ (Client Menu)
#define CM_LEARNSKILL		1
#define CM_LEARN_MAGIC		2
#define CM_PREVENTING		3		// 抗规
#define CM_CURE_DISEASE		4		// 摹丰
#define CM_INN_SLEEP		5		// 浆扁
#define CM_INN_REST			6		// 泪磊扁
#define CM_OPEN_SUPPER		7		// 脚傈俊辑 澜侥 力傍
 
//###########################################################
// 脚傈俊辑 荤侩且 抗硅 鸥涝
#define DAY_MEETING			100
#define MONTH_MEETING		200
#define YEAR_MEETING		300
#define MONTH_MEETING_ALAM	400


//###########################################################
#define INN_SINGLE	10
#define INN_DOUBLE	20
#define INN_MULTI	30

/////////////////////// GOD Define ////////////////////////
#define EDELBLHOY		1
#define TEFFERY			2
#define LETTY			3
///////////////////////////////////////////////////////////

/////////////////// store item type /////////////////////// 惑痢狼 涝厘俊辑
#define	SIT_NULL				0		// null
#define SIT_SELL_BUY			1		// 荤绊 迫扁 啊瓷
#define SIT_ONLY_SELL			2		// 惑痢俊辑 迫扁父
#define SIT_ONLY_BUY			3		// 惑痢俊辑 荤林扁父
#define SIT_EVENT_ITEM			4		// 捞亥飘侩


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

#define	DUR_RATIO			.70
#define	RARE_DUR_RATIO		.50//020505 lsw


#define RELATION		100
#define PARTY			200
#define EMPLOYMENT		300


////////////////////////////////////////////////////////////
// POS type 2
#define PT_HAND			0
#define PT_INV			1
#define PT_EQUIP		2
#define PT_QUICK		3
#define PT_BANK			4
#define PT_BOX			5	
#define PT_MAKE			6
#define PT_OTHER_CH		7
#define PT_CHARACTER	8
#define PT_GROUND		9
#define PT_USE			10
#define PT_BUY			11
#define PT_SELL			12
#define PT_DELETE		13
#define PT_EXCHANGE		14

#define MAX_WORD		500
#define ET_ADD_FIGHT_MEMBER		9777


///////////////////////////////////////////////////////
// 混酒唱绰 甘 沥狼
#define MAX_ALIVE_MAP		50
struct AliveMapZone
{
	int map_number;
	int x;
	int y;
	int xl;
	int yl;
	int is_all;
	int alive_word_type;
};


class CAliveMapZoneAll
{
public :
	AliveMapZone m_Map[MAX_ALIVE_MAP];
	int m_Max;		// 弥措
public : 
	CAliveMapZoneAll() { m_Max = 0; }
	int IsPossableAlive( int map_number, CHARLIST *ch  );
	int LoadAliveMapZone();
	int CheckAlive( int ch_x, int ch_y, int map_number, int word_type );		// 混酒 朝荐 乐绰瘤
};


extern CAliveMapZoneAll	g_AliveMap;
extern NPCLev_to_Exp		NPC_Lev_Ref[Num_Of_NPC_Lev];
extern NPC_Generation		NPC_Gen_Ref[Num_Of_NPC_Generation] ;

extern void MakeStoreList( void );
extern void CallSmallMenu( int cn, int storelistindex, int menu );
extern void RecvItemBuy( int cn, t_client_item_buy *p );
extern void RecvItemSell( int cn, t_client_item_sell *p );

extern void SendRumor( t_connection c[],  int cn );

extern int	SearchInv_invert( ItemAttr inv[3][3][8], int &a, int &b, int &c );
extern void SendLevelUpMsgAndPoint( CHARLIST *chr );

extern MAGICTABLE Magic_Ref[] ;
extern DiseaseTable	disease_tbl[6];
extern ItemAttr *GetItemByPOS( int cn, POS item );
extern ItemAttr *GetItemByPOS( CHARLIST *ch, POS item );
extern struct GodTable g_GodTable[MAX_GOD];


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

extern void SendMessageTitle( int type, int count, t_connection c[], int cn );
extern void SendCharInfomation( int type, t_connection c[], int cn );
extern void SendOtherInv( int type, int other_id, t_connection c[], int cn );
extern int	RecvDivideItem( kein_item_attr_pos *item, t_connection c[], int cn );
extern void RecvBankInfoDeposit( DWORD dwMoney, t_connection c[], int cn );
extern void SendBankRepayment( t_connection c[], int cn );
extern void RecvCharInfoBasic( t_char_info_basic *p, t_connection c[], int cn ) ; // 努扼捞攫飘俊辑 焊郴霖 瓷仿摹
extern void RecvBoxOpen( lpITEM box, t_connection c[], int cn );
extern void RecvLearnSkill( t_client_learn_skill *p, t_connection c[], int cn  );		//###1213 荐沥


extern void SendOtherInv( int type, CHARLIST *npc, t_connection c[], int cn );					//####1213_2
extern void RecvLearnItemByGuild( t_server_learn_skillitem *p, t_connection c[], int cn );		//####1213_2
// 020428 YGI acer		//####1213_2
extern int SendDeleteItem( ItemAttr *pItem, POS *pos, CHARLIST *ch, bool broken = false );
extern void SendDecreaseItem( POS item_pos, DWORD dur, t_connection c[], int cn );	// 酒捞袍 皑家 郴备仿 傈价 窃荐

extern void RecvLvUpPointEach( unsigned char type, t_connection c[], int cn );
extern void RecvLvDownPointEach( unsigned char type, t_connection c[], int cn );
extern void RecvLearnItem( k_client_learn_item *i, t_connection c[], int cn );		// 酒捞袍 硅快扁 		
extern void SendServerResult( BYTE type, BYTE result, int cn );		// 绢恫 搬苞甫 焊郴临锭..
extern void RecvItemRepair( t_client_item_sell *p, t_connection c[], int cn );


//###############################################################################
// global function extern

extern int DeleteItem( ItemAttr *item );
extern void GetItemDuration( ItemAttr item, WORD &d_curr, WORD &d_max );	// 酒捞袍 郴备仿 惶酒 坷扁
extern void SendStatusOpen( t_connection c[], int cn );
extern void RecvCharInfoPlus( int type, t_connection c[], int cn );
extern void RecvBankInfoDefrayal( DWORD dwMoney, t_connection c[], int cn );
extern void SendBankInventory( int count, t_connection c[], int cn );
extern void RecvDoParty( k_client_do_party *p, t_connection c[], int cn, int party_cn = 0, int check_nation = 1);
extern void RecvDeleteParty( k_client_delete_party *p, t_connection c[], int cn );

extern int GetMagicNumBySerial( int serial );
extern int CanLearnMagic( int num, CHARLIST *ch );		// 弊 付过阑 硅匡荐 乐唱?
extern void RecvLearnMagic( short int num, t_connection c[], int cn );
extern void SendLearnMagicOk( int num , int cn);
extern void RecvPreventing( short int num, t_connection c[], int cn );
extern void RecvCureDisease( short int num, t_connection c[], int cn );
extern int GetDisease_SQL( );

extern void SendItemValue( int item_no, int cn );
extern void SendItemValue_Sell( POS *pos, int cn );
extern void SendItemValue_Repair( int item_no, int cn );	
extern CHARLIST* SearchIdByName(const char* pName); // CSD-030320
//extern int SendPartyInfo( int type, int ct, t_connection c[], int cn );	// 颇萍 辆幅, 颇萍 硅凯 锅龋 
extern int SendPartyInfo( int type, int ct, t_connection c[], const char* szName);	// 颇萍 辆幅, 颇萍 硅凯 锅龋
extern void RecvClientInn( char type, int cn );
extern void SendServerWeakUp( int cn );
extern void SendJoinGameWho( int cn );
extern void SendExitGameWho( int cn );
extern void SendMyPartyExist( int cn );			// 货肺甸绢柯 某腐磐俊霸 颇萍盔捞 乐绰 瘤甫 焊郴霖促.
extern void RecvReleaseParty( char *name, int cn );
extern void SendPartyJoinOkSet( int cn );
extern void SendAbilityOpen( const int cn );

extern void SendSubtractMoney( DWORD money, int cn );
extern void SendAddMoney( DWORD money, int cn );
extern void RecvLearnAll( int cn ) ;
extern void RecvLearnAllNot( int cn );

extern int RecvItemExchange( K_ITEM *k_item, int you_id, int cn , const int iExchangeType);
extern void SendExchangeItemResult( int cn, int result );
extern void SendExchangeItemReq( int you_id, int cn, const K_ITEM *item ,const int iExchangeType);	// cn捞 呈俊霸 酒捞袍阑 背券窍磊绊 夸没沁促.
extern void SendExchangeItemOk( int you_id, int cn, const K_ITEM *item ,const int iExchangeType);	// 酒捞袍 背券 皋春甫 剁况扼...
extern void SendExchangeCancel( short int you, short int me );
extern void RecvExchangeStateSign( const short int you, const short int me , const bool bIsOkSign);//030108 lsw

extern void RecvExchangeEach( K_ITEM *k_item, int you_id, int cn );		// 棵妨 初扁 矫累茄 拱扒甸
extern void RecvExchange( short int you, short int me );
extern void RecvExchangeItemDel( POS pos, short int you_id, short int me );
extern int CheckCurrStats( CHARLIST *ch );			// 檬扁 某腐磐 立加饶 某腐磐 惑怕拌魂
extern void SendServerAc( int cn );

extern int ChangeItemAttr( short int cn, int type, POS pos, int change );		// chagne蔼浚 何龋甫 犬角洒 茄促.
extern inline void CallClient( short int id, short int type );
extern void SendPacketDefault( int type, void *msg, int size, short int cn );
extern void SendServerDmg( int cn );
extern void SendServerKillMon( short int cn );
extern int SetTactics( int spell_type, int sex, int tac_type );
extern int SetMySkill( CHARLIST *ch );
extern void RecvPartyInfoServerToServer( k_server_server_party_info *p );
extern void ReqPartyDB( short int client_id, char para, char *name );

extern int EqualPosByPos( const POS *pos1, const POS *pos2 );
//extern SendPartyInfo3( short int type, char ct,  short int cn );
extern SendPartyInfo3( short int type, char ct,  const char* szName );

extern int IsMySightInWho( char *name, short int cn)		;
extern int IsMySightInWhoById( short int check_id, short int cn );
extern void SendReqPartyInfoOfOtherChar( char *party_name, char *my_name, short int server_id );
extern void RecvPartyTogetherByLoginServer( short int server_id, char *name );
extern int InitPartyMemberServerToServer( CHARLIST *ch ); // CSD-HK-030829 //  捞抚父 叼厚俊 历厘窍绊 捞抚父 波郴柯促.
extern int EndsetPartyMenberForUpdate(CHARLIST *ch); // CSD-HK-030829
extern int RecvNoParty(char *name, short int server_id); // CSD-HK-030829 //肋 给等 捞抚阑 啊瘤绊 乐阑锭... 瘤款促.
extern void SendServerMagery( short int cn );
extern void SendExchangeItemDel( const short int you, const K_ITEM item );		// 惑措祈俊霸 逞绢哎 酒捞袍吝 昏力且 酒捞袍..
extern void RecvBbsMessageReq( int type, char ct, short int cn );	// 傍瘤荤亲殿 郴侩 傈价
//extern void SendLoginPutBoxItem( DWORD box_id, int para, ItemAttr *lpItem );//020303 lsw

extern void SendLoginServerPreachName( k_server_preach_name *p, short int cn );
extern void RecvAndSendPreachName( k_loginserver_preach_name_result *p);	// 搬苞甫 罐酒辑 努扼捞攫飘肺 焊辰促.
extern void RecvGodRegistOk( char believe_god, short int cn );		// 殿废
extern void RecvGodRegistCancel( short int cn );	// 颇拌
extern void SendLoginServePreachNameOk( k_server_preach_name *p, short int cn );		// 捞 窃荐绰 傈档茄 荤恩俊霸 脚居荐摹甫 棵妨林绰 风凭捞促.
extern void SendLoginEvangelistCreate( char *my_name, char *eva_name );
extern void SendLoginEvangelistDelete( char *my_name );

extern void CheckTimeForMenu_Kein();
extern void RecvToolPassword( char *password , short int cn);
extern void LoadGetGodTable();
extern int CheckGodMeetingTime( CHARLIST *ch );

extern void SendServerMessage( int type, char *szTemp, short int cn );
extern void SendLoginServerForCharUpdate( short int cn );
extern void  RecvLoginServerGetCharInfoByKein( k_get_char_info *p );
extern void SendReqGetCharInfoEtc( short int server_id, char *name );
extern void SendServerKillPc( short int cn );

extern void RecvCanMemorize( t_connection c[], short int cn );
extern void RecvEarMessage( char *name, char *message, short int cn );
extern void FindWhoEarMessageTarget( k_login_to_gameserver_ear_message *p ); // 蓖加富阑 罐阑 荤恩捞 捞 霸烙 辑滚俊 粮犁窍绰瘤 魄窜
extern void SendEarMessageResult( int type, char *name, short int cn );
extern void SendEarMessageResult2( int type, int ret, short int cn );

extern void SendLoginEarMessageResult( k_send_ear_message_result *p, short int cn );		// 努扼捞攫飘俊辑 焊辰 翠脚阑 肺弊牢栏肺 焊郴绊
extern void RecvLoginToGameEarMessageResult( short int server_id, char ret );		// 肺弊牢辑滚俊辑 焊郴柯 翠厘阑 努扼捞攫飘肺 焊郴霖促.
extern void SendGameToLoginExistName( char *name, short int cn );
extern void CheckMoveItem( char *name, int source_type, int dest_type, ItemAttr item, DWORD money);
extern void CheckEarChatingData( char *send_name, char *recv_name, char *message );		// 盲泼窍绰 富 历厘 窍扁
extern void closeconnection_kein(t_connection c[], int cn, int errnum);

bool NewSendGameToLoginChangeMapData( short int cn, WORD wMyAgentServerID, WORD wTargetServerID);
void NewRecvChangeMapData1( k_change_map1 *p, DWORD dwNewCN );
void NewRecvChangeMapData2( k_change_map2 *p, DWORD dwNewCN );
void NewRecvChangeMapData3( k_change_map3 *p, DWORD dwNewCN );
void NewRecvChangeMapData4( k_change_map4 *p, DWORD dwNewCN );
void NewRecvChangeMapData5( k_change_map5 *p, DWORD dwNewCN );
void NewRecvChangeMapData6( k_change_map6 *p, DWORD dwNewCN );
void NewRecvChangeMapData7( k_change_map7 *p, DWORD dwNewCN );
void NewRecvChangeMapData8( k_change_map8 *p, DWORD dwNewCN );
void NewRecvChangeMapData9( k_change_map9 *p, DWORD dwNewCN );

extern int CalcCharAbilityByChangemap( CHARLIST *ch );	// 某腐磐 檬扁 汲沥

extern void RecvChangeMapData9( k_change_map9 *p );		// 某腐磐 单捞鸥 8 罐扁
extern int  LoadFilterWord( );
extern void ConvString( char *szStr ); // 垮汲 鞘磐
extern int CompPartyBoth( CHARLIST *ch_1, CHARLIST *ch_2 );		// 辑肺 颇萍甫 肝菌绰啊...
extern void SendSkillAll( short int cn );
extern void RecvAndSendFaithUp( char *name, short int up_point );
extern void RecvDivineUp( short int cn );			// 扁档巩俊 狼茄 付唱 面练
extern void LoadMeetingMessage();
extern int GetMeetMessageRandomNumber( int god_type, int meet_type );		// 抗硅 皋矫瘤 锅龋 啊廉坷扁 ( 郴侩乐绰 巴吝俊辑 罚待栏肺 )
extern void RecvOpenSupper( short int cn );
extern void RecvGetItemOfSupper( short int item_no, short int cn );
extern void RecvChangeMapConfirm( short int cn );
extern void CheckInitSkill( CHARLIST *ch );		 // 努饭胶 胶懦篮 犬角窍霸...
extern void RecvReqCharInfo( int cn, int target );
extern void RecvOhMyParty( char *my_name, char *party_name );
extern void SetShape( unsigned char *equip, short int cn );
extern void MoveEmptyInv( ItemAttr *item, CHARLIST *ch );		// 酒捞袍阑 厚绢 乐绰 镑俊 颗扁绊 瘤款促.
extern int GetItemJoinNumber( int item_num );
extern void SortingItem( ItemAttr *item_list, int *list_int, int &max );
extern void MakeFileItemList( ItemAttr *data, int max, char *filename );
extern void SetTacSkillLevel( CHARLIST *ch );
extern void CheckAndSendChangeEquip( CHARLIST *ch, int send = 0  );
extern void RecvRepPartyInfo( char *party_name, short int cn );
extern void CheckBackupItemForCharacter( CHARLIST *ch );

⌨️ 快捷键说明

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