Jump to content
Araştır
  • Diğer seçenekler ...
Sonuçları bul ...
Sonuçları bul ...
KODevelopers

21xx Bdw giremiyorum.

Önerilen Mesajlar

bizim ki sourcedeki..
 

void CUser::TempleOperations(uint8 bType)
{
	uint16 nActiveEvent = (uint16)g_pMain->pTempleEvent.ActiveEvent;

	uint8 bResult = 1;
	Packet result(WIZ_EVENT);
	Packet result2(WIZ_SELECT_MSG);

	if(bType == TEMPLE_EVENT_JOIN && !isEventUser())
	{
		if (nActiveEvent == TEMPLE_EVENT_CHAOS)
		{
			if (CheckExistItem(CHAOS_MAP,1))
				bResult = 1;
			else if (m_sItemArray[RIGHTHAND].nNum == MATTOCK || m_sItemArray[RIGHTHAND].nNum == GOLDEN_MATTOCK || isMining())
				bResult = 4; 
			else
				bResult = 3;
		}

		else if (nActiveEvent == TEMPLE_EVENT_BORDER_DEFENCE_WAR)
		{
			if (GetLevel() < g_pMain->pTempleEvent.m_nBorderDefenseWarMINLEVEL)
				bResult = WarpListMinLevel;
		}

		result << bType << bResult << nActiveEvent;
		Send(&result);

		if (bResult == 1) 
		{
			GetNation() == KARUS ? g_pMain->pTempleEvent.KarusUserCount++ :g_pMain->pTempleEvent.ElMoradUserCount++;
			g_pMain->pTempleEvent.AllUserCount = (g_pMain->pTempleEvent.KarusUserCount + g_pMain->pTempleEvent.ElMoradUserCount);
			g_pMain->AddEventUser(this);
			TempleOperations(TEMPLE_EVENT_COUNTER);
		}
	}
	else if (bType == TEMPLE_EVENT_DISBAND && isEventUser())
	{
		GetNation() == KARUS ? g_pMain->pTempleEvent.KarusUserCount-- : g_pMain->pTempleEvent.ElMoradUserCount--;
		g_pMain->pTempleEvent.AllUserCount = g_pMain->pTempleEvent.KarusUserCount + g_pMain->pTempleEvent.ElMoradUserCount;
		g_pMain->RemoveEventUser(this);
		result <<  bType << bResult << nActiveEvent;
		Send(&result);
		TempleOperations(TEMPLE_EVENT_COUNTER);
	}
	else if (bType == TEMPLE_EVENT_COUNTER)
	{
		result << bType << nActiveEvent;

		if(nActiveEvent == TEMPLE_EVENT_CHAOS)
			result << g_pMain->pTempleEvent.AllUserCount;
		else if(nActiveEvent == TEMPLE_EVENT_BORDER_DEFENCE_WAR)
			result << g_pMain->pTempleEvent.KarusUserCount << g_pMain->pTempleEvent.ElMoradUserCount;
		else if(nActiveEvent == TEMPLE_EVENT_JURAD_MOUNTAIN)
			result2 << uint16(0x00) << uint8(0x07) << uint64(0x00) << uint32(0x06) << g_pMain->pTempleEvent.KarusUserCount << uint16(0x00) << g_pMain->pTempleEvent.ElMoradUserCount << uint16(0x00) << g_pMain->m_nTempleEventRemainSeconds << uint16(0x00);
		
		if(nActiveEvent == TEMPLE_EVENT_JURAD_MOUNTAIN)
		g_pMain->Send_All(&result2,nullptr,Nation::ALL,0,true,0);
		else
		g_pMain->Send_All(&result,nullptr,Nation::ALL,0,true,0);
	}
}

 

 

 

struct _EVENT_STATUS
{
	int16 ActiveEvent;
	int8 ZoneID;
	uint8 LastEventRoom;
	uint32 StartTime;
	uint16 AllUserCount;
	uint16 ElMoradUserCount;
	uint16 KarusUserCount;
	uint16 ElmoDeathCount[MAX_TEMPLE_EVENT_ROOM];
	uint16 KarusDeathCount[MAX_TEMPLE_EVENT_ROOM];
	uint16 m_sBdwMiniTimer[MAX_TEMPLE_EVENT_ROOM];
	uint8 m_sMiniTimerNation[MAX_TEMPLE_EVENT_ROOM];

	uint16 JuraidKarusGateID1[MAX_TEMPLE_EVENT_ROOM];
	uint16 JuraidKarusGateID2[MAX_TEMPLE_EVENT_ROOM];
	uint16 JuraidKarusGateID3[MAX_TEMPLE_EVENT_ROOM];
	uint16 JuraidElmoGateID1[MAX_TEMPLE_EVENT_ROOM];
	uint16 JuraidElmoGateID2[MAX_TEMPLE_EVENT_ROOM];
	uint16 JuraidElmoGateID3[MAX_TEMPLE_EVENT_ROOM];


	uint16 KarusDeathRoom1[MAX_TEMPLE_EVENT_ROOM];
	uint16 KarusDeathRoom2[MAX_TEMPLE_EVENT_ROOM];
	uint16 KarusDeathRoom3[MAX_TEMPLE_EVENT_ROOM];
	uint16 ElmoDeathRoom1[MAX_TEMPLE_EVENT_ROOM];
	uint16 ElmoDeathRoom2[MAX_TEMPLE_EVENT_ROOM];
	uint16 ElmoDeathRoom3[MAX_TEMPLE_EVENT_ROOM];
	// Juraid Finish
	bool isAttackable;
	bool isActive;
	bool isDevaFlag[MAX_TEMPLE_EVENT_ROOM];
	bool isDevaControl[MAX_TEMPLE_EVENT_ROOM];
	uint8 DevaNation[MAX_TEMPLE_EVENT_ROOM];


	uint32	m_nChaosPrizeWonItemNo1;
	uint32	m_nChaosPrizeWonItemNo2;
	uint32	m_nChaosPrizeWonItemNo3;
	uint32	m_nChaosPrizeWonItemNo4_K;
	uint32	m_nChaosPrizeWonItemNo4_H;
	uint32	m_nChaosPrizeWonLoyalty;
	uint32	m_nChaosPrizeWonExp;
	uint32	m_nChaosPrizeWonKnightCash;
	uint32	m_nChaosPrizeLoserKnightCash;
	uint32	m_nChaosPrizeLoserLoyalty;
	uint32	m_nChaosPrizeLoserItem;
	uint32	m_nChaosPrizeLoserExp;

	uint32	m_nBorderDefenseWarPrizeWonItemNo1;
	uint32	m_nBorderDefenseWarPrizeWonItemNo2;
	uint32	m_nBorderDefenseWarPrizeWonItemNo3;
	uint32	m_nBorderDefenseWarPrizeWonItemNo4_K;
	uint32	m_nBorderDefenseWarPrizeWonItemNo4_H;
	uint32	m_nBorderDefenseWarPrizeWonLoyalty;
	uint32	m_nBorderDefenseWarPrizeWonKnightCash;
	uint32	m_nBorderDefenseWarPrizeLoserKnightCash;
	uint32	m_nBorderDefenseWarPrizeLoserLoyalty;
	uint32	m_nBorderDefenseWarPrizeLoserItem;
	uint8	m_nBorderDefenseWarMAXLEVEL;
	uint8	m_nBorderDefenseWarMINLEVEL;

	bool	m_nJuraidMountainOdulTipi;
	uint32	m_nJuraidMountainPrizeWonItemNo1;
	uint32	m_nJuraidMountainPrizeWonItemNo2;
	uint32	m_nJuraidMountainPrizeWonItemNo3;
	uint32	m_nJuraidMountainPrizeWonItemNo4_K;
	uint32	m_nJuraidMountainPrizeWonItemNo4_H;
	uint32	m_nJuraidMountainPrizeWonLoyalty;
	uint32	m_nJuraidMountainPrizeWonExp;
	uint32	m_nJuraidMountainPrizeWonKnightCash;
	uint32	m_nJuraidMountainPrizeLoserKnightCash;
	uint32	m_nJuraidMountainPrizeLoserLoyalty;
	uint32	m_nJuraidMountainPrizeLoserItem;
	uint32	m_nJuraidMountainPrizeLoserExp;
	uint8	m_nJuraidMountainMAXLEVEL;
	uint8	m_nJuraidMountainMINLEVEL;

};

 

	uint8   m_nBorderDefenseWarTime[BORDER_DEFENSE_WAR_EVENT_COUNT], m_nChaosTime[CHAOS_EVENT_COUNT], m_nJuraidTime[JURAD_MOUNTAIN_EVENT_COUNT];
	uint32	m_nBorderDefenseWarPrizeWonItemNo1[BORDER_DEFENSE_WAR_EVENT_COUNT];
	uint32	m_nBorderDefenseWarPrizeWonItemNo2[BORDER_DEFENSE_WAR_EVENT_COUNT];
	uint32	m_nBorderDefenseWarPrizeWonItemNo3[BORDER_DEFENSE_WAR_EVENT_COUNT];
	uint32	m_nBorderDefenseWarPrizeWonItemNo4_K[BORDER_DEFENSE_WAR_EVENT_COUNT];
	uint32	m_nBorderDefenseWarPrizeWonItemNo4_H[BORDER_DEFENSE_WAR_EVENT_COUNT];
	uint32	m_nBorderDefenseWarPrizeWonLoyalty[BORDER_DEFENSE_WAR_EVENT_COUNT];
	uint32	m_nBorderDefenseWarPrizeWonKnightCash[BORDER_DEFENSE_WAR_EVENT_COUNT];
	uint32	m_nBorderDefenseWarPrizeLoserKnightCash[BORDER_DEFENSE_WAR_EVENT_COUNT];
	uint32	m_nBorderDefenseWarPrizeLoserLoyalty[BORDER_DEFENSE_WAR_EVENT_COUNT];
	uint32	m_nBorderDefenseWarPrizeLoserItem[BORDER_DEFENSE_WAR_EVENT_COUNT];
	uint8	m_nBorderDefenseWarMAXLEVEL[BORDER_DEFENSE_WAR_EVENT_COUNT];
	uint8	m_nBorderDefenseWarMINLEVEL[BORDER_DEFENSE_WAR_EVENT_COUNT];

 

 

 

	
	if (pTempleEvent.ActiveEvent == -1)
	{
		for (int i = 0; i < BORDER_DEFENSE_WAR_EVENT_COUNT; i++)
		{
			if (nHour == m_nBorderDefenseWarTime[i] && nMinute == 0) 
			{
				pTempleEvent.ActiveEvent = TEMPLE_EVENT_BORDER_DEFENCE_WAR;
				pTempleEvent.ZoneID = ZONE_BORDER_DEFENSE_WAR;

				pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo1 = m_nBorderDefenseWarPrizeWonItemNo1[i];
				pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo2 = m_nBorderDefenseWarPrizeWonItemNo2[i];
				pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo3 = m_nBorderDefenseWarPrizeWonItemNo3[i];
				pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo4_K = m_nBorderDefenseWarPrizeWonItemNo4_K[i];
				pTempleEvent.m_nBorderDefenseWarPrizeWonItemNo4_H = m_nBorderDefenseWarPrizeWonItemNo4_H[i];
				pTempleEvent.m_nBorderDefenseWarPrizeWonLoyalty = m_nBorderDefenseWarPrizeWonLoyalty[i];
				pTempleEvent.m_nBorderDefenseWarPrizeWonKnightCash = m_nBorderDefenseWarPrizeWonKnightCash[i];
				pTempleEvent.m_nBorderDefenseWarPrizeLoserKnightCash = m_nBorderDefenseWarPrizeLoserKnightCash[i];
				pTempleEvent.m_nBorderDefenseWarPrizeLoserLoyalty = m_nBorderDefenseWarPrizeLoserLoyalty[i];
				pTempleEvent.m_nBorderDefenseWarPrizeLoserItem = m_nBorderDefenseWarPrizeLoserItem[i];
				pTempleEvent.m_nBorderDefenseWarMAXLEVEL = m_nBorderDefenseWarMAXLEVEL[i];
				pTempleEvent.m_nBorderDefenseWarMINLEVEL = m_nBorderDefenseWarMINLEVEL[i];



				m_nTempleEventRemainSeconds = 600; // 10 minutes
				TempleEventStart();
				printf("%d. call for the BDW Event is started at %02d:%02d:%02d 
", i, nHour, nMinute, nSeconds);				
				break;
			} 
		}

 

	for (int i = 0; i < BORDER_DEFENSE_WAR_EVENT_COUNT; i++)
	{
		m_nBorderDefenseWarTime[i] = ini.GetInt("BDW",string_format("START_TIME%d",i+1).c_str(), 0);
		m_nBorderDefenseWarPrizeWonItemNo1[i] = ini.GetInt("BDW",string_format("ITEM_WON_PRIZE1_%d",i+1).c_str(), 0);
		m_nBorderDefenseWarPrizeWonItemNo2[i] = ini.GetInt("BDW",string_format("ITEM_WON_PRIZE2_%d",i+1).c_str(), 0);
		m_nBorderDefenseWarPrizeWonItemNo3[i] = ini.GetInt("BDW",string_format("ITEM_WON_PRIZE3_%d",i+1).c_str(), 0);
		m_nBorderDefenseWarPrizeWonItemNo4_K[i] = ini.GetInt("BDW",string_format("ITEM_WON_PRIZE4KARUS_%d",i+1).c_str(), 0);
		m_nBorderDefenseWarPrizeWonItemNo4_H[i] = ini.GetInt("BDW",string_format("ITEM_WON_PRIZE4HUMAN_%d",i+1).c_str(), 0);
		m_nBorderDefenseWarPrizeWonLoyalty[i] = ini.GetInt("BDW",string_format("ITEM_WON_PRIZE_LOYALTY_%d",i+1).c_str(), 0);
		m_nBorderDefenseWarPrizeWonKnightCash[i] = ini.GetInt("BDW",string_format("ITEM_WON_PRIZE_KC_%d",i+1).c_str(), 0);
		m_nBorderDefenseWarPrizeLoserKnightCash[i] = ini.GetInt("BDW",string_format("ITEM_LOSE_PRIZE_KC_%d",i+1).c_str(), 0);
		m_nBorderDefenseWarPrizeLoserLoyalty[i] = ini.GetInt("BDW",string_format("ITEM_LOSE_PRIZE_LOYALTY_%d",i+1).c_str(), 0);
		m_nBorderDefenseWarPrizeLoserItem[i] = ini.GetInt("BDW",string_format("ITEM_LOSE_PRIZE_ITEM_%d",i+1).c_str(), 0);
		m_nBorderDefenseWarMAXLEVEL[i] = ini.GetInt("BDW","MAX_LEVEL",83);
		m_nBorderDefenseWarMINLEVEL[i] = ini.GetInt("BDW","MIN_LEVEL",35);		
		printf ("[TIME] - > [BDW#%d] -> Event start hour: %d
",(i+1),m_nBorderDefenseWarTime[i]);
		
	}	



Kırmızı renkleri bakın hocam

@ Nero

İletiyi paylaş


Link to post
Sitelerde Paylaş

Son güncelleme
 

void CUser::TempleOperations(uint8 bType)
{
	uint16 nActiveEvent = (uint16)g_pMain->pTempleEvent.ActiveEvent;

	uint8 bResult = 1;
	Packet result(WIZ_EVENT);
	Packet result2(WIZ_SELECT_MSG);

	if(bType == TEMPLE_EVENT_JOIN && !isEventUser())
	{
		if (nActiveEvent == TEMPLE_EVENT_CHAOS)
		{
			if (CheckExistItem(CHAOS_MAP,1))
				bResult = 1;
			else if (m_sItemArray[RIGHTHAND].nNum == MATTOCK || m_sItemArray[RIGHTHAND].nNum == GOLDEN_MATTOCK || isMining())
				bResult = 4; 
			else
				bResult = 3;
		}

		else if (nActiveEvent == TEMPLE_EVENT_BORDER_DEFENCE_WAR)
		{
			if (GetLevel() < 35)
				bResult = WarpListMinLevel;
		}

		result << bType << bResult << nActiveEvent;
		Send(&result);

		if (bResult == 1) 
		{
			GetNation() == KARUS ? g_pMain->pTempleEvent.KarusUserCount++ :g_pMain->pTempleEvent.ElMoradUserCount++;
			g_pMain->pTempleEvent.AllUserCount = (g_pMain->pTempleEvent.KarusUserCount + g_pMain->pTempleEvent.ElMoradUserCount);
			g_pMain->AddEventUser(this);
			TempleOperations(TEMPLE_EVENT_COUNTER);
		}
	}
	else if (bType == TEMPLE_EVENT_DISBAND && isEventUser())
	{
		GetNation() == KARUS ? g_pMain->pTempleEvent.KarusUserCount-- : g_pMain->pTempleEvent.ElMoradUserCount--;
		g_pMain->pTempleEvent.AllUserCount = g_pMain->pTempleEvent.KarusUserCount + g_pMain->pTempleEvent.ElMoradUserCount;
		g_pMain->RemoveEventUser(this);
		result <<  bType << bResult << nActiveEvent;
		Send(&result);
		TempleOperations(TEMPLE_EVENT_COUNTER);
	}
	else if (bType == TEMPLE_EVENT_COUNTER)
	{
		result << bType << nActiveEvent;

		if(nActiveEvent == TEMPLE_EVENT_CHAOS)
			result << g_pMain->pTempleEvent.AllUserCount;
		
		else if(nActiveEvent == TEMPLE_EVENT_BORDER_DEFENCE_WAR)
			result << g_pMain->pTempleEvent.KarusUserCount << g_pMain->pTempleEvent.ElMoradUserCount;
		
		else if(nActiveEvent == TEMPLE_EVENT_JURAD_MOUNTAIN)
			result2 << uint16(0x00) << uint8(0x07) << uint64(0x00) << uint32(0x06) << g_pMain->pTempleEvent.KarusUserCount << uint16(0x00) << g_pMain->pTempleEvent.ElMoradUserCount << uint16(0x00) << g_pMain->m_nTempleEventRemainSeconds << uint16(0x00);
		
		if(nActiveEvent == TEMPLE_EVENT_JURAD_MOUNTAIN)
		g_pMain->Send_All(&result2,nullptr,Nation::ALL,0,true,0);
		else
		g_pMain->Send_All(&result,nullptr,Nation::ALL,0,true,0);
	}
}

 


BAWb5p.png

Job tıkladım Karus 1 Human 0 oldu ancak..

Job iptal etmeyi çalışıyorum.

1-0 gibi duruyor..

Süresi bitince Zones çekmiyor..

 

İletiyi paylaş


Link to post
Sitelerde Paylaş

×
×
  • Yeni Oluştur...