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

📄 ltssupport.cpp

📁 国内著名网络游戏dragon的服务端完整源码 内附完整数据库结构
💻 CPP
📖 第 1 页 / 共 5 页
字号:
	sprintf(MapServerConfigFileName,"%s/data/MapServerConfig.ini",NetworkDir); */// 030919 HK YGI
	
	for (i=0;i<6;i++)	// 唱扼锅龋
	{
		sprintf(tempString,"EventMap%dStartPointX",i);
		g_StartPoint[i].x=(short)GetPrivateProfileInt("EventLocalWar",tempString,0,MapServerConfigFileName);
		if (!g_StartPoint[i].x)
		{
			MyLog(0,"%s狼 [EventLocalWar], %s 汲沥捞 肋给登绢乐嚼聪促.",MapServerConfigFileName,tempString);
			return false;
		}
		sprintf(tempString,"EventMap%dStartPointY",i);
		g_StartPoint[i].y=(short)GetPrivateProfileInt("EventLocalWar",tempString,0,MapServerConfigFileName);
		if (!g_StartPoint[i].y)
		{
			MyLog(0,"%s狼 [EventLocalWar], %s 汲沥捞 肋给登绢乐嚼聪促.",MapServerConfigFileName,tempString);
			return false;
		}
	}

	return true;
}

bool InitEventLocalWarSystem()								// 020115 LTS		// LTS BUG
{
	// 030919 HK YGI
//	char	NetworkDir[MAX_PATH];
//	char	MapServerConfigFileName[MAX_PATH];
	int		EventLocalWarfieldPort=0;
	int		MapServerPort;

	SERVER_DATA	*pData=g_pServerTable->GetOwnServerData();
	MapServerPort=pData->wPort;

/*
	if (GetPrivateProfileString("Network","path","",NetworkDir,MAX_PATH,MAP_SERVER_INI_)<=0)
	{
		MyLog(0,"Mapserver.ini狼  Path汲沥捞 肋给登绢乐嚼聪促.");
		return false;
	}
	sprintf(MapServerConfigFileName,"%s/data/MapServerConfig.ini",NetworkDir);*/
	EventLocalWarfieldPort=(DWORD)GetPrivateProfileInt("EventLocalWar","EventLocalWarfieldPort",0,MapServerConfigFileName);
	if (!EventLocalWarfieldPort)
	{
		MyLog(0,"%s狼 [EventLocalWar],EventLocalWarfieldPort狼 汲沥捞 肋给登绢乐嚼聪促.",MapServerConfigFileName);
		return false;
	}

	if (MapServerPort==EventLocalWarfieldPort)		// 捞亥飘 甘捞扼搁 
	{
		g_isEventLocalWarServer=true;
		g_pEventLocalWarfield=new cEventLocalWarfield;
		g_EventMapPort=EventLocalWarfieldPort;
		if (!g_pEventLocalWarfield->CheckLoadData())
		{
			JustMessage("捞亥飘 甘捞瘤父 券版颇老(MapseverConfig.ini)甫 佬瘤 给沁嚼聪促.");
		}
	}
	else 
	{
		g_EventMapPort=EventLocalWarfieldPort;		// 瘤陛 捞亥飘 柳青吝牢啊? 犬牢矫 肚绰 曼啊 脚没 牢盔 颇厩.
		if (!LoadStartUpPoint()) 
		{
			JustMessage("券版颇老(MapseverConfig.ini)狼 EventLocalWar甫 佬瘤 给沁嚼聪促.");
		}
	}
	return true;
}

void CloseEventLocalWarSystem()
{
	SAFE_DELETE(g_pEventLocalWarfield);
}

void UpdateEventLocalWarTime()
{
	if (g_isEventLocalWarServer)
	{
		if(g_pEventLocalWarfield)
		{
			g_pEventLocalWarfield->UpdateEventLocalWarTime();
		}
		else
		{
			::MyLog(1,"WARNING!!! -- g_pEventLocalWarfield is Null -- WARNING!!!");
		}
	}
}

int	 GetNationIndex(int Nation)
{
	switch (Nation)
	{
	case NW_BY : return 0;
	case NW_ZY : return 1;
	case NW_YL : return 2;
	}
	return 0;
}

int GetNationFromIndex(int NationIndex)			// LTS NEW LOCALWAR
{
	switch(NationIndex)
	{
	case 0 : return NW_BY;
	case 1 : return NW_ZY;
	case 2 : return NW_YL;
	}
	return 3;
}


void SendEventPoint(int UserID,int Point)
{
	t_packet packet;
	packet.h.header.type=CMD_EVENT_POINT_CHANGE;
	packet.u.LocalWar.EventPoint.Point=Point;
	packet.h.header.size=sizeof(t_EventPoint);
	QueuePacket(connections,UserID,&packet,1);

}
void CheckEventLocalWarDeath(CHARLIST* Attacker,CHARLIST* Defencer)
{
	if (!g_isEventLocalWarServer) return;
	if (g_pEventLocalWarfield->GetEventStatus()!=3) return;

	const int LevelGap = Defencer->GetLevel() - Attacker->GetLevel(); // CSD-030806
	MyLog(0,"Event LocalWar Death_______");
	MyLog(0," Attacker : %s, Level : %d, Defender : %s, Level : %d, Level Gap : %d",
		    Attacker->Name, Attacker->GetLevel(),
			Defencer->Name, Defencer->GetLevel(),
			Defencer->GetLevel() - Attacker->GetLevel()); // CSD-030806
	MyLog(0," Attacker Old Event Poind : %d",Attacker->EventPoint);
	if (LevelGap<=(-30))						{ Attacker->EventPoint+=1;  }
	if ((LevelGap>=(-29))&&(LevelGap<=(-10)))	{ Attacker->EventPoint+=3;  }
	if ((LevelGap>=(-9))&&(LevelGap<=(0)))		{ Attacker->EventPoint+=5;  }
	if ((LevelGap>=(1))&&(LevelGap<=(20)))		{ Attacker->EventPoint+=10; }
	if (LevelGap>=(21))							{ Attacker->EventPoint+=15; }
	MyLog(0," Attacker New Event Point : %d",Attacker->EventPoint);
	SendEventPoint(Attacker->GetServerID(),Attacker->EventPoint);
}

bool CanUseRevivalPosion()
{
	if(g_isEventLocalWarServer)
	{
		if( g_pEventLocalWarfield->GetEventStatus()==3 ) return false;
	}
	return true;
}
int CheckEventAttack()
{
	if (!g_isEventLocalWarServer) return FALSE;        // 捞亥飘 辑滚啊 酒聪搁 傍拜且荐 乐澜
	if (g_pEventLocalWarfield->GetEventStatus()!=3) return TRUE;	// 捞亥飘 辑滚捞绊 捞亥飘狼 惑怕啊 傈里矫累捞 酒聪搁 傍拜且荐 绝澜
	return FALSE;										//捞亥飘辑滚狼 傈里吝浚 傍拜且荐 乐澜										
}

int CheckEventWarDoing()
{
	if (!g_isEventLocalWarServer) return false;
	if (g_pEventLocalWarfield->GetEventStatus()!=3) return false;
	return true;
}


void ClearEventJoin(CHARLIST* ch,int EventNo)
{
	t_packet packet;
	packet.h.header.type=CMD_DELETE_EVENT_JOIN;
	strcpy(packet.u.LocalWar.DeleteEventJoin.UserName,ch->Name);
	packet.u.LocalWar.DeleteEventJoin.EventNo=EventNo;
	packet.h.header.size=sizeof(t_DeleteEventJoin);
	QueuePacket(connections, DB_DEMON, &packet, 1);

	switch (EventNo)
	{
	case 1 :	ch->EventJoin.Event1=0;	break;
	case 2 :	ch->EventJoin.Event2=0; break;
	case 3 :	ch->EventJoin.Event3=0; break;
	case 4 :	ch->EventJoin.Event4=0; break;
	case 5 :	ch->EventJoin.Event5=0; break;
	case 6 :	ch->EventJoin.Event6=0; break;
	case 7 :	ch->EventJoin.Event7=0; break;
	case 8 :	ch->EventJoin.Event8=0; break;
	}
}

int CheckEventJoin(CHARLIST* ch,int EventNo)
{
	switch (EventNo)
	{
	case 1 : return ch->EventJoin.Event1;
	case 2 : return ch->EventJoin.Event2;
	case 3 : return ch->EventJoin.Event3;
	case 4 : return ch->EventJoin.Event4;
	case 5 : return ch->EventJoin.Event5;
	case 6 : return ch->EventJoin.Event6;
	case 7 : return ch->EventJoin.Event7;
	default : return ch->EventJoin.Event8;
	}
}

void ReLoadEventLocalWarData()			// LTS BUG
{
	if (!g_isEventLocalWarServer) return;
	g_pEventLocalWarfield->LoadEventLocalWarfieldData();
}

cEventLocalWarfield::cEventLocalWarfield()
{
	InitEventLocalWarfield();
	LoadEventLocalWarfieldData();
}

cEventLocalWarfield::~cEventLocalWarfield()
{

}

void cEventLocalWarfield::InitEventLocalWarfield()
{
	m_EventStep=0;
	m_EventStatus=0;			
	m_EventEndTime=0;
	m_CheckLoadData=1;	
	m_ManCount[0]=0;
	m_ManCount[1]=0;
	m_ManCount[2]=0;
	memset(&m_tData,0,sizeof(m_tData));
}


void cEventLocalWarfield::LoadEventLocalWarfieldData()				// LTS BUG
{
	// 030919 HK YGI
//	char	NetworkDir[MAX_PATH];
//	char	MapServerConfigFileName[MAX_PATH];
	int		i,j;
	char	tempString[MAX_PATH],tempString2[MAX_PATH];

	/*
	if (GetPrivateProfileString("Network","path","",NetworkDir,MAX_PATH,MAP_SERVER_INI_)<=0)
	{
		MyLog(0,"Mapserver.ini狼  Path汲沥捞 肋给登绢乐嚼聪促.");
		m_CheckLoadData=0;
		return;
	}
	sprintf(MapServerConfigFileName,"%s/data/MapServerConfig.ini",NetworkDir);*/

	m_tData.EventActive=(char)GetPrivateProfileInt("EventLocalWar","EventActive",4,MapServerConfigFileName);
	if (m_tData.EventActive==4)
	{
		MyLog(0,"%s狼 [EventLocalWar],EventActive 汲沥捞 肋给登绢乐嚼聪促.",MapServerConfigFileName);
		m_CheckLoadData=0;
		return;
	}
	m_tData.EventStartTime=(char)GetPrivateProfileInt("EventLocalWar","EventStartTime",0,MapServerConfigFileName);
	if (!m_tData.EventStartTime)
	{
		MyLog(0,"%s狼 [EventLocalWar],EventStartTime 汲沥捞 肋给登绢乐嚼聪促.",MapServerConfigFileName);
		m_CheckLoadData=0;
		return;
	}
	m_tData.EventRegTime=(char)GetPrivateProfileInt("EventLocalWar","EventRegTime",0,MapServerConfigFileName);
	if (!m_tData.EventRegTime)
	{
		MyLog(0,"%s狼 [EventLocalWar],EventRegTime 汲沥捞 肋给登绢乐嚼聪促.",MapServerConfigFileName);
		m_CheckLoadData=0;
		return;
	}
	m_tData.EventMapMoveTime=(char)GetPrivateProfileInt("EventLocalWar","EventMapMoveTime",0,MapServerConfigFileName);
	if (!m_tData.EventMapMoveTime)
	{
		MyLog(0,"%s狼 [EventLocalWar],EventMapMoveTime 汲沥捞 肋给登绢乐嚼聪促.",MapServerConfigFileName);
		m_CheckLoadData=0;
		return;
	}
	m_tData.EventTime=(char)GetPrivateProfileInt("EventLocalWar","EventTime",0,MapServerConfigFileName);
	if (!m_tData.EventTime)
	{
		MyLog(0,"%s狼 [EventLocalWar],EventTime 汲沥捞 肋给登绢乐嚼聪促.",MapServerConfigFileName);
		m_CheckLoadData=0;
		return;
	}
	m_tData.EventDelayTime=(char)GetPrivateProfileInt("EventLocalWar","EventDelayTime",0,MapServerConfigFileName);
	if (!m_tData.EventDelayTime)
	{
		MyLog(0,"%s狼 [EventLocalWar],EventDelayTime 汲沥捞 肋给登绢乐嚼聪促.",MapServerConfigFileName);
		m_CheckLoadData=0;
		return;
	}
	for (i=0;i<3;i++)	
	{
		sprintf(tempString,"Event%dUserLevelMin",i);
		m_tData.EventUserLevelMin[i]=(unsigned char)GetPrivateProfileInt("EventLocalWar",tempString,0,MapServerConfigFileName);
		if (!m_tData.EventUserLevelMin[i])
		{
			MyLog(0,"%s狼 [EventLocalWar], %s 汲沥捞 肋给登绢乐嚼聪促.",MapServerConfigFileName,tempString);
			m_CheckLoadData=0;
			return;
		}
		sprintf(tempString,"Event%dUserLevelMax",i);
		m_tData.EventUserLevelMax[i]=(unsigned char)GetPrivateProfileInt("EventLocalWar",tempString,0,MapServerConfigFileName);
		if (!m_tData.EventUserLevelMax[i])
		{
			MyLog(0,"%s狼 [EventLocalWar], %s 汲沥捞 肋给登绢乐嚼聪促.",MapServerConfigFileName,tempString);
			m_CheckLoadData=0;
			return;
		}
	}

	for (i=0;i<6;i++)	// 唱扼锅龋
	{
		sprintf(tempString,"EventMap%dStartPointX",i);
		m_tData.StartPoint[i].x=(short)GetPrivateProfileInt("EventLocalWar",tempString,0,MapServerConfigFileName);
		if (!m_tData.StartPoint[i].x)
		{
			MyLog(0,"%s狼 [EventLocalWar], %s 汲沥捞 肋给登绢乐嚼聪促.",MapServerConfigFileName,tempString);
			m_CheckLoadData=0;
			return;
		}
		sprintf(tempString,"EventMap%dStartPointY",i);
		m_tData.StartPoint[i].y=(short)GetPrivateProfileInt("EventLocalWar",tempString,0,MapServerConfigFileName);
		if (!m_tData.StartPoint[i].y)
		{
			MyLog(0,"%s狼 [EventLocalWar], %s 汲沥捞 肋给登绢乐嚼聪促.",MapServerConfigFileName,tempString);
			m_CheckLoadData=0;
			return;
		}
	}

	for (i=0;i<3;i++)	// 唱扼锅龋
	{
		for (j=0;j<3;j++)
		{
			switch(j)
			{
			case 0 : sprintf(tempString2,"BY"); break;
			case 1 : sprintf(tempString2,"ZY"); break;
			case 2 : sprintf(tempString2,"YL"); break;
			}
			sprintf(tempString,"Event%dRegUser%sMAX",i,tempString2);
			m_tData.EventRegMax[i][j]=(unsigned char)GetPrivateProfileInt("EventLocalWar",tempString,0,MapServerConfigFileName);
			if (!m_tData.EventRegMax[i][j])
			{
				MyLog(0,"%s狼 [EventLocalWar], %s 汲沥捞 肋给登绢乐嚼聪促.",MapServerConfigFileName,tempString);
				m_CheckLoadData=0;
				return;
			}
		}
	}

	for (i=0;i<3;i++)
	{
		switch(i)
		{
		case 0 : sprintf(tempString2,"BY"); break;
		case 1 : sprintf(tempString2,"ZY"); break;
		case 2 : sprintf(tempString2,"YL"); break;
		}
		sprintf(tempString,"EventMap%sOutPointX",tempString2);
		m_tData.OutPoint[i].x=(short)GetPrivateProfileInt("EventLocalWar",tempString,0,MapServerConfigFileName);
		if (!m_tData.OutPoint[i].x)
		{
			MyLog(0,"%s狼 [EventLocalWar], %s 汲沥捞 肋给登绢乐嚼聪促.",MapServerConfigFileName,tempString);
			m_CheckLoadData=0;
			return;
		}
		sprintf(tempString,"EventMap%sOutPointY",tempString2);
		m_tData.OutPoint[i].y=(short)GetPrivateProfileInt("EventLocalWar",tempString,0,MapServerConfigFileName);
		if (!m_tData.OutPoint[i].y)
		{
			MyLog(0,"%s狼 [EventLocalWar], %s 汲沥捞 肋给登绢乐嚼聪促.",MapServerConfigFileName,tempString);
			m_CheckLoadData=0;
			return;
		}
	}

	for (i=0;i<3;i++)
	{
		switch(i)
		{
		case 0 : sprintf(tempString2,"BY"); break;
		case 1 : sprintf(tempString2,"ZY"); break;
		case 2 : sprintf(tempString2,"YL"); break;
		}
		sprintf(tempString,"EventJoin%sLocationX",tempString2);
		m_tData.EventJoinLocation[i].x=(short)GetPrivateProfileInt("EventLocalWar",tempString,0,MapServerConfigFileName);
		if (!m_tData.EventJoinLocation[i].x)
		{
			MyLog(0,"%s狼 [EventLocalWar], %s 汲沥捞 肋给登绢乐嚼聪促.",MapServerConfigFileName,tempString);
			m_CheckLoadData=0;
			return;
		}
		sprintf(tempString,"EventJoin%sLocationY",tempString2);
		m_tData.EventJoinLocation[i].y=(short)GetPrivateProfileInt("EventLocalWar",tempString,0,MapServerConfigFileName);
		if (!m_tData.EventJoinLocation[i].y)
		{
			MyLog(0,"%s狼 [EventLo

⌨️ 快捷键说明

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