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

📄 menuserver.h

📁 国内著名网络游戏dragon的服务端完整源码 内附完整数据库结构
💻 H
📖 第 1 页 / 共 3 页
字号:
extern void RecvSetMapType( t_packet *p, short int cn );
extern int SaveLogDefault( char *file_name, char *str, int is_first );
extern void SendSaveEventItem( CHARLIST *ch, int item_no, int count );
extern void RecvOXSelect( t_packet *p, short int cn );
extern void SetOXSelect( CHARLIST *ch, int type );
extern void RecvOXAnser( t_packet *p, short int cn );
extern int UserAllMapMove( int type, char *map_name, int x, int y );
extern void RecvCheckSkill( short int cn );
extern void RecvPutGuildItem( t_packet *p, short int cn );
extern void RecvGetGuildItemClient( t_packet *p, short int cn );
extern void RecvGetGuildItemMap( t_packet *p );
extern int CheckMapPort( int port );


extern char YearMeetingText[MAX_GOD][4][MAX_GOD_TEXT];
extern char MonthMeetingText[MAX_GOD][12][MAX_GOD_TEXT];


extern void RecvChangeGuildMaster( short int cn );
extern void SendChangeGuildDegree( int server_id, int guild_code, int guild_degree, short int cn );

extern void RecvChangeGuildMasterAllMap( t_packet *p );
extern int IsFightMap();

extern void RecvCheckGuildChange( t_packet *p, short int cn );


 // guild_degree_power
#define GDP_JOINING				0	// 辨靛 啊涝				
#define GDP_BBS					1	// 辨靛 傈眉 皋矫瘤			
#define GDP_CHANGE_DEGREE		2	// 辨靛盔 流氓函版			
#define GDP_GUILD_BOX			3	// 辨靛 芒绊 捞侩			
#define GDP_EXIT_GUILD_HIM		4	// 碍力 辨靛 呕硼 矫虐扁	
#define GDP_CHANGE_MARK			5	// 辨靛 付农 函版			
#define GDP_CHANGE_DEGREE_INFO	6	// 辨靛 流氓 疙 函版		
#define GDP_GUILD_CHANGE_MASTER	7	// 辨靛 付胶磐 函版			
#define GDP_GUILD_BREAK			8	// 辨靛 力芭				
#define GDP_REGIST_SUB_MASTER	9	// 何辨付 殿废				
#define GDP_EXIT_GUILD_SELF		10	// 胶胶肺 辨靛 呕硼			
#define GDP_BUY_GUILD_HOUSE		11	// 骏器府酒 备涝
#define GDP_MAX					11

extern bool CheckGuildPower( int type, CHARLIST *ch );
extern void RecvGetNationItem( short int cn );
extern void RecvBuyNationItem( short int cn );
extern void RecvCheckColossusMap( t_packet *p, short int cn );

#define ST_SEND_MAP_ALL	0		// 葛电 甘俊 焊尘锭
extern void SendPacket2Map( t_packet *p, int port );


extern void RecvInviteColossus( t_packet *p, short int cn );
extern void RecvInviteColossusReply( t_packet *p );
extern void RecvJoinColossusMap( t_packet *p, short int cn );

extern inline bool IsColleagueWhenColossus( CHARLIST *a, CHARLIST *d );
extern void RecvAttackColossusItem( t_packet *p, short int cn );
extern void CallMenu( short int menu, short int cn );
extern void RecvRevivalColossus( t_packet *p, short int cn );
extern void RecvGuildHouseInfo( t_packet *p, short int cn );
extern void RecvBuyGuildHouse( t_packet *p, short int cn );
extern int GetItemMuchByMuchItem( CHARLIST *ch, int item_no );
extern void RecvChangeGuildHouse( t_packet *p, short int cn );
extern void RecvCheckGuildHouse( t_packet *p, short int cn );


class CPotionBox
{
	/*
	enum POTION_TYPE
	{
		pt_red = 100,
		pt_blue = 101,
		pt_bread = 102
	};
	*/
	WORD item_no;
	WORD much;
	CHARLIST *hero;

	//POTION_TYPE box_type;
	int SetData( int data )
	{
		item_no = LOWORD( data );
		much = HIWORD( data );
		return 1;
	}
public:
/*	CPotionBox()
	{
		//box_type = 0;
		item_no = 0;
		much = 0;
	}*/
	CPotionBox( /*POTION_TYPE type,*/ CHARLIST *ch )
	{
		//box_type = type;
		int data;
		//switch( type )
		{
		//case pt_red : data = ch->arigement; break;
		//case pt_blue : data = ch->social_status; break;
		//case pt_bread : 
			data = ch->Sight; //break;
		}
		hero = ch;
		SetData( data );
	}
	
	~CPotionBox()
	{
		hero = NULL;
	}

	int UseItem();
	int DeleteItem();
	void SaveData();		// 酒捞袍阑 荤侩, 焊包茄饶  历厘茄促.
	int GetData()
	{
		return hero->Sight;
	}
	int PutItem( ItemAttr *item );		// 酒捞袍阑 林赣聪加俊 持绰促.
};




extern void RecvPkOnOff( t_packet *p, short int cn );
extern void RecvCMD_GET_PK_ON_OFF( t_packet *p, short int cn );



// 020428 YGI acer
// SEND_ITEM_LOG_NAME2
#define SN_NOT_USER		(-1) 

enum SILT_Type
{
	SILT_PUT_OTHER_CH				=1,
	SILT_GET_OTHER_CH				=2,
	SILT_PUT_GROUND					=3,
	SILT_GET_GROUND					=4,
	SILT_PUT_BANK					=5,
	SILT_GET_BANK					=6,
	SILT_MAKE_BY_SKILL				=7,
	SILT_PUT_STORE					=8,
	SILT_GET_STORE					=9,
	SILT_DELETE_BY_DURATION			=10,
	SILT_DELETE_BY_ATTR				=11,		// 加己捞 捞惑秦辑 瘤框
	SILT_DELETE_BY_RARE_ATTR		=12,		// 饭绢 加己捞 捞惑秦辑 瘤框
	SILT_USE						=13,
	SILT_GET_OTHER_CH_INVEN			=14,		// 硅扯 第瘤扁肺 化绢 吭阑锭
	SILT_MAKE_BY_DB					=15,		// 捞亥飘肺 持绢霖 酒捞袍
	SILT_MAKE_BY_SCRIPT				=16,		// 捞亥飘肺 持绢霖 酒捞袍
	SILT_RESOURCE_BY_SKILL			=17,		// 胶懦 荤侩矫 犁丰肺辑 荤扼柳促.
	SILT_GET_GUILD_WAR				=18,
	SILT_GET_GAMBLE_ITEM			=19,
	SILT_GET_TODAY_ITEM				=20,
	SILT_GET_STOLEN					=21,
	SILT_PUT_STOLEN					=22,
	SILT_PUT_GROUND_MAX_INVEN		=23,		// BBD 040226 林籍眠啊: 牢亥捞 菜瞒辑 官蹿俊 冻崩, 捣老锭父 静绰淀...
	SILT_GET_MEN_TO_MEN				=24,
	SILT_PUT_MEN_TO_MEN				=25,
	SILT_NEED_ITEM					=26,
	SILT_PUT_GAMBLE_ITEM			=27,
	SILT_DROP_BY_PK					=28,
	SILT_DELETE_BY_SCRIPT			=29,
	SILT_MAKE_TO_GROUND_BY_SKILL	=30,
	SILT_PUT_GUILD_BOX				=31,
	SILT_GET_GUILD_BOX				=32,
	
	SILT_BOND_MONEY_GIVE			=33,
	SILT_TAKE_AUCTION_RESULT_ITEM	=34,
	SILT_REGISTER_AUCTION_ITEM		=35,
	SILT_EXCHANGE_BOND_MONEY		=36,
	SILT_MAKE_MULTI_RARE_RESOURCE	=37,
	SILT_MAKE_MULTI_RARE_RESULT		=38,
	SILT_CANCEL_AUCTION_SELL_ITEM	=39,

	SILT_BUY_NATION_ITEM_MONEY		=40,
	SILT_BUY_NATION_ITEM_FAME		=41,

	SILT_MAX						,
};


class C2JinSearch
{
public :
	int *item;
	int max;

public:
	C2JinSearch()
	{
		item = 0;
		max = 0;
	}
	~C2JinSearch(){ Remove(); }	
	int Load( char *filename );
	int Search( int no );
	int Sort();
	int Remove() 
	{ 
		SAFE_DELETE_ARRAY(item);
		max = 0;
		return 1;
	}
};

class CItemLog
{
public :
	int m_nDeleteDay;
	int m_nSaveLv;
	int m_nItemLv;

	C2JinSearch m_NoItemList;
	int m_aType2Lv[SILT_MAX];


public :
	CItemLog()
	{
		LoadDefault();
	}
	void LoadDefault()
	{
		m_nDeleteDay = 30;
		m_nSaveLv = 0;
		m_nItemLv = 90;
		for( int i=0; i<SILT_MAX; i++ )
		{
			m_aType2Lv[i] = 3;
		}
	}
	int GetDeleteDay() { return m_nDeleteDay; }
	int GetSaveLv() { return m_nSaveLv; }
	void Load( int port );
	bool IsSave( ItemAttr *item, int event_type, int lv );
	int GetTypeLv( int event_type ) { return m_aType2Lv[event_type]; }
};


extern int RecvSaveItemLogByEvent( t_packet *p );
extern void RecvDirectMapMove( t_packet *p, short int cn );
extern void SendItemEventLog( ItemAttr *item, short int hero_cn, short int target, int event_type, int lv ); //YGI acer
extern CItemLog	g_item_log;

// acer4
extern void RecvSearchChar( t_packet *p, short int cn );
extern int PutHimInfo( CHARLIST *him, k_char_info *him_info );
extern void RecvSearchCharMap( t_packet *p );

// 020620 YGI
extern void RecvUseGmTool_SaveLog( t_packet *p, short int cn );
const int MM_TODAY_GAMBLE_ITEM_MAIN_MAP_PORT	= 5190;
const int MM_SAVE_LOG_FILE_MAP					= 5999;
const int MN_SCENARIO_MAP						= 5720;		// 矫唱府坷 包府甘

extern WORD FindMannagementMap( WORD port );
extern WORD GetManagementMapPort( WORD port );
extern void RecvEventNumber( t_packet *p, short int cn );
extern void MapServerFree_kein();
extern int LoadDungeonMapAll();
extern int RecvDungeonHistory( t_packet *p );
extern void SendCallSmallMenu( int cn, int storelistindex, int menu );
extern void SendCallDualMagicLearnMenu( int cn);//soto-030421
extern void	SendCallLuckyMenuOpen(int cn);//soto-030429
extern void RecvCallLuckyMenuOpen(int cn);//soto-030429
extern void EndManToManFight( CHARLIST *win, CHARLIST *lose );
extern void Fight_Stone_End(int cn, int flag);
extern bool IsManToManFight( CHARLIST *attack, CHARLIST *defence );
extern bool IsArenaFight(CHARLIST* pMember); // CSD-030506
extern void SaveChangeLadder( CHARLIST *ch, int old_ladder, int new_ladder, int type );
extern void SaveObtainCombat(CHARLIST* ch, int nOld, int nNew);
extern void SaveChangeCombat(CHARLIST *ch, int nCombat, int nOld, int nNew);

#define CLT_CHANGE_DUAL		1
#define CLT_WIN_COLOSSUS	2
#define CLT_LOSE_COLOSSUS	3

// 021107 YGI
extern void RecvSetInstallVersion ( t_packet *p, short int cn );	// 021117 YGI
extern void RecvResendItem( short int cn );//021030 YGI
extern void RecvScriptItem( t_packet *p, short int cn );
extern void RecvEventMoveMap( t_packet *p, short int cn );
extern void RecvEventMoveMapCheckMap( t_packet *p, short int cn );		// 促弗 甘俊辑 棵版快
extern void RecvEventMoveMapOk( t_packet *p, short int cn );

extern void CheckDoubleName( CHARLIST *ch, short int cn );
extern void RecvCheckDoubleName( t_packet *p, short int cn );
extern void RecvCheckDoubleNameOk( t_packet *p, short int cn );
extern void RecvCheckDoubleNameDB2Map( t_packet *p, short int cn );
extern void RecvCheckDoubleNameWhenFirst( t_packet *p, short int cn );
extern void RecvCheckDoubleNameWhenFirstOk( t_packet *p, short int cn );
extern void CheckDoubleNameWhenFirst( char *pName, short int server_id );
// 040105 YGI 焊拱
extern void RecvCheckTreasureXY( t_packet *p, short int cn );
extern void RecvGetTreasureMapDetail( t_packet *p, short int cn );
extern void RecvGetTreasureMapDetailDB( t_packet *p, short int cn );

extern int SaveLogDefault2( char *file_name, char *str );	// 030919 HK YGI

// 031009 CI YGI
extern int InitItemLimitCountFromDB( );



#endif

⌨️ 快捷键说明

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