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

📄 main.h

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


//#define _SERVER_MAKE_MODE_



#include "stdafx.h"
/*
#include <windows.h>
#include <windowsx.h>
//#include <winsock2.h>

  #include <stdio.h>
  #include <stdlib.h>
  #include <conio.h>
  #include <io.h>
*/
#include <fcntl.h>
#include <errno.h>
#include <string.h>
#include <math.h>
#include <time.h>
#include <sqlext.h>
#include <winerror.h>




#ifdef _GAME_SERVER_

#include <ddraw.h>
#include <dsound.h>

#include "DEBUG.H"
#include "CINFO.H"
#include "CSURF.H"
#include "CENGINE.H"
extern CSurface WndSurface;
#endif
#include "map.h"		// 1004 YGI
#include "CHARLIST.H"
#include "NETWORK.H"

#include "ITEMLIST.H"
#include "MYSQL.H"
#include "Hong_Sub.h"
#include "OP_Chr_Status.h"


#ifdef _GAME_SERVER_

#include "NPCLIST.H"
#include "Object.h"
#include "NPC_Pattern.h"
#include "AREA.H"
#include "Skill.h"


#else

#define SetArea(a,b)	

#endif




extern DWORD global_time;
extern DWORD g_start_time;
extern DWORD g_alive_time;
extern DWORD g_curr_time;
extern DWORD g_weather_time;

extern int g_closed_gameserver;
extern int g_year;
extern int g_mon;
extern int g_day;
extern int g_yday;
extern int g_hour;
extern int g_min;
extern int g_sec;

extern int g_count_ok;
extern int g_weatherflag;

extern int g_total_gameserver, g_current_gameserver;
extern int g_gameserver_check_start; 

extern int		StartMap, StartPosition;
extern char		StartMapPosition[ 5][20][20];




/////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////
typedef struct tagMAGICTABLE							//付过 抛捞喉 备炼眉
{
	//	int				grouping;		//荤侩啊瓷茄 荤恩 盒幅(0->穿备唱/1->付过荤拌父/2->己流磊拌父)	
	int				serial_Num;		//绊蜡锅龋(1~)
	int				order_Type;		//拌凯(1->积/2->荤/3->老馆/4->拳堪/5->倔澜/6->傈拜/7->家券/8->矫傍/9->脚己/10->沥悼/11->沥充/12->漂荐)
	int				appoint_Type;		//措惑 瘤沥规侥 鸥涝(0->唱磊脚/1->措惑瘤沥(窜老措惑)/2->措惑瘤沥(汗荐措惑)/3->瘤开付过)
	int				basic_Level;		//荤侩 扁夯 饭骇(1~9)
	int				point_MS;		//Magic S point 
	int		        before_Magic;		//傈 窜拌 付过(刚历 劳囚具 且 付过)
	int				cast_Time;		//某胶泼 矫埃(例措矫埃)
	int				cast_Continue;	//某胶泼 瘤加 矫埃(例措矫埃)
	int				continue_Time;	//瘤加矫埃(0->康盔洒/1~例措矫埃)
	int				avail_Type;		//瓤侩 鸥涝(0->磊脚/1->磊脚 酒囱 1疙/2~->蜡瓤裹困郴 促荐)
	int				avail_Range;	//荤沥芭府(鸥老窜困/0->磊脚/99->公茄)
	int				exhaust_MP;		//家葛 MP
	int				exhaust_MS;		//家葛 MS
	int				require_IT;		//夸备 瘤瓷
	int				require_WP;		//夸备 瘤驱
	int				point_Hit;		//疙吝伏(0->100%,1~->秦寸 疙吝伏)
	int				point_Attract;	//概仿 器牢飘(0->not available/1~)
	int				point_WS;		//WS 器牢飘(0->not available/1~)
	int				point_Move;		//捞悼器牢飘(0->not available/1~)
	bool			invalid_MagicZone;	//付仿公瓤瘤开
	bool			invalid_SpriteZone;	//脚仿公瓤瘤开
	bool			invalid_SummonZone;	//家券阂啊瘤开
	bool			invalid_HolyZone;	//脚己瘤开
	int				invalid_TargetIT;	//付过 公瓤拳 措惑眉 瘤瓷摹
	int				invalid_TargetWP;	//付过 公瓤拳 措惑眉 瘤驱摹	
	int				invalid_TargetHP;	//付过 公瓤拳 措惑眉 扒碍摹
	int				invalid_TargetSP;	//付过 公瓤拳 措惑眉 SP
	bool			invalid_Night;		//付过 公瓤拳 -> 广
	bool			invalid_Day;		//付过 公瓤拳 -> 撤
	bool			invalid_Fire;		//付过 公瓤拳 -> 阂
	int				difference_IT;		//措惑眉客狼 瘤瓷 瞒捞
	int				difference_WP;		//措惑眉客狼 瘤驱 瞒捞
	bool			invalid_Rain;		//付过 公瓤拳 -> 厚
	bool			invalid_Snow;		//付过 公瓤拳 -> 传
	bool			invalid_Fog;		//付过 公瓤拳 -> 救俺
	bool			invalid_IceMagic;	//付过 公瓤拳 -> 倔澜付过
	bool			invalid_FireMagic;	//付过 公瓤拳 -> 拳堪付过
	bool			invalid_BoltMagic;	//付过 公瓤拳 -> 傈拜付过
	char			startMagic_Word[8];	//付过矫悼绢
	
	int				reserve1;		//抗厚 干滚 函荐
	int				reserve2;		//      "
	bool			flag;			//抗厚 敲饭弊
	
	int				basic_magery ;		//
	int				Rain_Corr ;			// 焊沥蔼甸... 窜困(%)
	int				Fog_Corr ;
	int				Night_Corr ;
	int				Spell_Type ;		// 0 Wizard, 1~13 priest(God喊 type甸 锭巩俊 促剧
	int				Appoint_Type ;
} MAGICTABLE;

typedef struct tagNPC_Info 
{ // 153俺 烙.
	short int	sprno ;
	short int	face ;
	short int	race ;
	short int	spritvalue ;
	short int	Class ;
	short int	class_sprituality ;
	short int	class_poisoning ;
	short int	class_bombplay ;
	short int	class_entrapment ;
	short int	class_scrolling ;
	short int	class_cunning1 ;
	short int	class_cunning2 ;
	short int	class_cunning3 ;
	short int	class_stealing ;
	short int	job ;
	short int	age ;
	short int	lev ;
	short int	hd ;
	int	exp ;
	short int	pspow ;
	short int	wspow ;
	short int	divpow ;
	short int	manapow ;
	short int	orsnpow ;
	short int	mjypow ;
	short int	attackpow ;
	short int	vitalpow ;
	short int	hungrymax ;
	short int	money ;
	short int	strold ;
	short int	conold ;
	short int	dexold ;
	short int	wisold ;
	short int	intold ;
	short int	movepold ;
	short int	charold ;
	short int	enduold ;
	short int	healthold ;
	short int	moralold ;
	short int	luckold ;
	short int	condition ;
	__int16 nPoison; // 历林拌凯 付过俊 措茄 历亲仿
	__int16 nCurse; // 历林拌凯 付过俊 措茄 历亲仿	
	__int16 nFire;	 // 阂拌凯 傍拜 付过俊 措茄 历亲仿
	__int16 nIce;		 // 倔澜拌凯 傍拜 付过俊 措茄 历亲仿
	__int16 nElect;	 // 傈拜拌凯 傍拜 付过俊 措茄 历氢仿
	__int16 nHoly;	 // 脚仿拌凯 傍拜 付过俊 措茄 历亲仿
	short int	ws[10] ;
	short int	ps[10] ;
	int	acc_equip[6] ;
	short int	normal_sight ;
	short int	battle_sight ;
	short int	invtry[15] ;
	short int	tactics ;
	short int	CRAPPLE ;
	short int	SWORDMANSHIP ;
	short int	ARCHERY ;
	short int	FENCING ;
	short int	MACEFIGHTING ;
	short int	PIERCE ;
	short int	WHIRL ;
	short int	HURL ;
	short int	PARRING ;
	short int	DOUBL_SWORDMANSHIP ;
	short int	DOUBL_MACEFIGHTING ;
	short int	cooper ;
	short int	MORDERATION ;
	short int	royal ;
	short int	courage ;
	short int	faith ;
	short int	truth ;
	short int	justice ;
	short int	mercy ;
	short int	murder ;
	short int	robery ;
	short int	betrayal ;
	short int	disroyal ;
	short int	greed ;
	short int	idol ;
	short int	r_fame ;
	short int	r_truth ;
	short int	r_bow ;
	short int	r_propagation ;
	short int	r_service ;
	short int	nor_range ;
	short int	att_range ;
	short int	enemy_no ;
	short int	party ;
	short int	levelgap ;
	short int	offset ;
	short int	apgap ;
	short int	vpgap ;
	short int	attackpattern ;
	short int	partyattack ;
	short int	afterattack ;
	short int	attackend ;
	short int	opendoor ;
	short int	lockdoor ;
	short int	closedoor ;
	short int	breakobj ;
	short int	pickobj ;
	short int	openbox ;
	short int	lockbox ;
	short int	closebox ;
	short int	pathrange ;
	short int	neglect ;
	short int	checklevel ;
	short int	absolattack ;
	short int	stop ;
	short int	backdown ;
	short int	act_month ;
	short int	act_space ;
	short int	act_time ;
	short int	act_weather ;
} NPC_Info ;

typedef struct tagNPCName_by_Gender
{
	char Female[17] ;
	char Male[17] ;
	char Last[17] ;
} NPCName_by_Gender ;

struct NPCLev_to_Exp
{	//< CSD-TW-030606
	int nMinExp;         // 泅犁 饭骇狼 弥家 版氰摹
	int nMaxExp;         // 泅犁 饭骇狼 弥措 版氰摹
	int nNeedExp;        // 促澜 饭骇肺 棵扼啊扁 困秦 裙垫秦具瞪 版氰摹
	int nTrainingExp;    // 琶平 荐访厘俊辑 掘绰 版氰摹
	float fExpReduction; // 荤成矫 磷菌阑 版快 版氰摹 昏皑伏
	float fNKReduction;	 // NK俊 磷菌阑 版快 版氰摹 昏皑伏
	int nTacRate;		 // 琶平 焊沥摹
	int nMaxTactic;	     // 饭骇俊 蝶弗 琶平 荐访厘俊辑 棵副 荐 乐绰 弥措 琶平 饭骇
	int	nDyeingPrice;    // 堪祸 啊拜
	int nLessRate;       // 撤篮 饭骇 焊沥摹  
	int nGreatRate;      // 臭篮 饭骇 焊沥摹  
	int nCspMax;         // 弥措 傈捧胶懦 器牢磐 裙垫荐
	int nBaseCP;         // 傈捧胶懦 扁夯樊
	int bank_loan;	     // 010314 YGI
	int nStep;           // 版氰摹 窜拌
	int nWarriorLife;    // 傈荤狼 扁夯 Life
	int nThiefLife;      // 档迪狼 扁夯 Life
	int nArcherLife;     // 泵荐狼 扁夯 Life
	int nWizardLife;     // 付过荤狼 扁夯 Life
	int nPriestLife;     // 己流磊狼 扁夯 Life
	int nWarriorExpRate; // 傈荤狼 版氰摹 焊沥伏(窜困%)
	int nThiefExpRate;   // 档迪狼 版氰摹 焊沥伏(窜困%)
	int nArcherExpRate;  // 泵荐狼 版氰摹 焊沥伏(窜困%)
	int nWizardExpRate;  // 付过荤狼 版氰摹 焊沥伏(窜困%)
	int nPriestExpRate;  // 己流磊狼 版氰摹 焊沥伏(窜困%)
};	//> CSD-TW-030606

typedef struct tagNPC_Generation 
{
	short int SprNO;
	char Han_name[31];
	char Name[31];
	short int Selectable;
	short int Sel_gender;
	short int Sel_FirstName[31];
	char Sel_LastName[31] ;
	short int Sel_race;
	short int Sel_Class_Warrior;
	short int Sel_Class_Thief;
	short int Sel_Class_Archery;
	short int Sel_Class_Wizard;
	short int Sel_Class_Priest;
	short int Sel_Job_Farmer;
	short int Sel_Job_Miner;
	short int Sel_Job_FishHooker;
	short int Sel_Job_Lumberjack;
	short int Sel_Job_Butcher;
	short int Sel_Job_Herbdigger;
	short int Sel_Job_Herdman;
	short int Sel_Job_Carpenter;
	short int Sel_Job_Blacksmith;
	short int Sel_Job_Cooker;
	short int Sel_Job_Tailor;
	short int Sel_Job_BowFlet;
	short int Sel_Job_Alchemist;
	short int Sel_Job_Candlemaker;
	short int Sel_Job_Merchant;
	short int Sel_Age_Min;
	short int Sel_Age_Max;
	short int Sel_Lv_min;
	short int Sel_Lv_Max;
	short int Sel_Tactics;
	short int Sel_Spell;
	short int Money_min;
	short int Money_Max;
	short int Bear_Peoriod;
	short int Bear_amount;
	short int Bear_Succes;
	short int Bear_Do;
	short int Bear_Probability;
	short int Bear_Checktime;
	short int Moderation;
	short int royal;
	short int Courage;
	short int Faith;
	short int Truth;
	short int Justice;
	short int Mercy;
	short int Muder;
	short int Robery;
	short int Betrayal;

⌨️ 快捷键说明

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