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

📄 network7.cpp

📁 国内著名网络游戏dragon的服务端完整源码 内附完整数据库结构
💻 CPP
字号:
/*
// 021008 眠啊窍绰 窃荐甸
//extern 篮 葛滴 network7.h俊 甸绢乐促. 
*/

#include "..\stdafx.h"
//#include "MAIN.H"
//#include "servertable.h"
#include "QuestFunction.h"
#include "Dr_network.h"

extern CAliveMapZoneAll g_AliveMap;		//m_Map抛捞喉阑 荤侩窍扁 困秦

void RecvWhatQuestInMap( t_packet *p, int cn);			//甘锅龋啊 坷搁 包访 涅胶飘俊 蝶弗 胶跑蔼阑 曼炼窍咯 沥焊锅龋甫 焊辰促.
void CheckSpellMapMoveArea( char *szMsg, int cn);		//弊 瘤开捞 林巩栏肺 甘捞悼 窍绰 瘤开捞搁 巩磊凯阑 g_QuestInMap.m_szClientSpell俊 持绰促.


void RecvWhatQuestInMap( t_packet *p, int cn)
{

	t_quest_in_map *tp = &(p->u.quest_in_map);

	CHARLIST *ch = CheckServerId( cn );
	if( !ch) return;

	//捞抚犬牢
	if( 0 != strcmp( ch->Name, p->u.quest_in_map.name ) ) return;

	g_QuestInMap.SendQuestInfo( tp, cn );

}

void CheckSpellMapMoveArea( char *szMsg, int cn)
{//己傍 1, 角菩 0
	CHARLIST *ch = CheckServerId( cn );
	if( !ch ) return;

	if( !szMsg ) return;

	if( ch->viewtype == VIEWTYPE_GHOST_ ) return; //蜡飞鸥涝捞搁 救等促. 

	for( int i =0;i < g_AliveMap.m_Max; i++)
	{
		if( g_AliveMap.m_Map[i].map_number != MapNumber ) continue;
		//if( ! TileMap[ch->MoveSx][ch->MoveSy].attr_inside ) // 郴何 加己捞 乐绰 镑捞 酒聪扼搁
		//	continue;

		if( BoxAndDotCrash( g_AliveMap.m_Map[i].x,g_AliveMap.m_Map[i].y, g_AliveMap.m_Map[i].xl, g_AliveMap.m_Map[i].yl, ch->MoveSx, ch->MoveSy	) )
		{	//弊 惑磊救俊 乐阑锭
			if( g_AliveMap.m_Map[i].alive_word_type == SPELL_MAP_MOVE_TYPE ) //10锅 加己老锭..
			{
				//扁粮 cn蔼捞 捞静搁 瘤快绊 货肺 敬促. 
				g_QuestInMap.DeleteSpellUser( cn );	

				CSpellMove cSpell(cn, szMsg);				
				g_QuestInMap.m_szClientSpell.push_back( cSpell );
				break;
			}
		}
	}
	return;
}

int HandleCommand3( t_packet *packet, t_connection c[], const int cn )
{
	switch( packet->h.header.type)
	{
	case CMD_WHAT_QUEST_IN_MAP:		// 021008 kyo 涅胶飘 瘤档疙 闷阑锭
		{
			RecvWhatQuestInMap( packet, cn);			
		}break;
	case CMD_SCRIPT_TIMER_START:	// 021022 kyo 胶农赋飘 鸥捞赣俊 包访等巴
	case CMD_SCRIPT_TIMER_SYNC:
	case CMD_SCRIPT_TIMER_END_SUC:
	case CMD_SCRIPT_TIMER_END_FAL:
		{
			g_QuestInMap.RevcScriptTimerPacket( (&packet->u.script_timer), packet->h.header.type, cn);
		}break;
	case CMD_SCRIPT_COUNTER_SYNC:	// 030108
		{
			g_QuestInMap.RevcScriptCounterSync( (&packet->u.script_counter),  cn);
		}break;

	case CMD_SCRIPT_SPELL_MAPMOVE:
		{
			g_QuestInMap.RecvSpellMapMove( &packet->u.spell_mapmove, cn );
		}break;
	default:	
		{
			return 0;
		}break;
	}
	return 1;
}

⌨️ 快捷键说明

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