Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

[Release] AceOnline Episode 4.3 SourceCode

Experienced Elementalist
Joined
Oct 9, 2012
Messages
226
Reaction score
76
Hi,
It's absolutly not any fake release, it's a true source code of server/tools/launcher ep 4.3.
Source have some missing files (additional anti-nob filter, ) , but if you're a real DEV you create missing files and compile 4.3 server.
For newbies a little help: compiled Pre,IM servers and questloader,questloader.lib
PLEASE! dont cry if you dont know what you should do with that!!!

Have fun with it, who first compile it can receive full 4.3 original database backups

DOWNLOAD SOURCE: [Link Removed]

Cheers
 
Last edited by a moderator:
You got reported! :o
Joined
Oct 15, 2011
Messages
634
Reaction score
102
nice release ;-)
 
Last edited by a moderator:
Joined
Apr 12, 2013
Messages
897
Reaction score
480
Ohh cmon, they can learn from it to write tools to reload some serverside things or so like the colorshop code

Code:
ProcessResult CFieldIOCPSocket::Process_FC_SHOP_BUY_COLOR_ITEM(const char* pPacket, int nLength, int &nBytesUsed){
	DECLARE_MESSAGE_AND_CHECK_SIZE(pPacket, nLength, nBytesUsed, T_FC_SHOP_BUY_COLOR_ITEM,
									MSG_FC_SHOP_BUY_COLOR_ITEM, pBuyColorItem);


	if(FALSE == IsValidCharacter())
	{
		SendErrorMessage(T_FC_SHOP_BUY_COLOR_ITEM, ERR_INVALID_CHARACTER);
		return RES_BREAK;
	}


	//////////////////////////////////////////////////////////////////////////
	// 2008-08-18 by dhjin, 1ÃÊ ÅÒ ½Ã½ºÅÛ ±âȹ¾È
	if(!this->CheckOneSecondTermSystem())
	{
		SendErrorMessage(T_FC_SHOP_BUY_COLOR_ITEM, ERR_INTERVAL_SYSTEM_SECOND, m_dwMSTermSystem);
		return RES_BREAK;
	}
	
	if(INVALID_UNIQUE_NUMBER != m_peerTraderCharacterUniqueNumber
		&& 0 != m_peerTraderCharacterUniqueNumber)
	{
		SendErrorMessage(T_FC_SHOP_BUY_COLOR_ITEM, ERR_ITEM_TRADING);
		return RES_BREAK;
	}


	///////////////////////////////////////////////////////////////////////////////
	// 2007-09-13 by cmkwon, º£Æ®³² 2Â÷Æнº¿öµå ±¸Çö - T_FC_SHOP_BUY_COLOR_ITEM ¿äû½Ã 2Â÷Æнº¿öµå üũ
	if(FALSE == this->CheckSecondaryPasswordLock())
	{
		SendErrorMessage(T_FC_SHOP_BUY_COLOR_ITEM, ERR_SECPASS_LOCKED);
		return RES_BREAK;
	}


	ITEM *pColorItem = ms_pFieldIOCP->GetItemInfo(pBuyColorItem->ItemNum);
	if(NULL == pColorItem)
	{// ItemNum üũ
		SendErrorMessage(T_FC_SHOP_BUY_COLOR_ITEM, ERR_PROTOCOL_ITEM_KIND_NOT_MATCHED);
		return RES_BREAK;
	}


	if (0 != pColorItem->ReqMinLevel 
		&& pColorItem->ReqMinLevel > m_character.Level)
	{// ÃÖ¼Ò ÇÊ¿ä ·¹º§ üũ
		SendErrorMessage(T_FC_SHOP_BUY_COLOR_ITEM, ERR_PROTOCOL_REQ_MINLEVEL_NOT_MATCHED);
		return RES_BREAK;
	}
	if (0 != pColorItem->ReqMaxLevel 
		&& pColorItem->ReqMaxLevel < m_character.Level)	
	{// ÃÖ´ë ÇÊ¿ä ·¹º§ üũ
		SendErrorMessage(T_FC_SHOP_BUY_COLOR_ITEM, ERR_PROTOCOL_REQ_MAXLEVEL_NOT_MATCHED);
		return RES_BREAK;
	}
	
	if(NULL == m_pCurrentBuildingNPC)
	{
		SendErrorMessage(T_FC_SHOP_BUY_COLOR_ITEM, ERR_COMMON_INVALID_BUILDINGKIND);
		return RES_BREAK;
	}
	if (m_pCurrentBuildingNPC->BuildingKind != BUILDINGKIND_TUNING_COLOR)
	{// BuildKind üũ
		SendErrorMessage(T_FC_SHOP_BUY_COLOR_ITEM, ERR_PROTOCOL_BUILDING_KIND_NOT_MATCHED);
		return RES_BREAK;
	}


	mt_auto_lock igLock(&m_ItemManager.m_mapItemGeneral);	// lock m_mapItemGeneral 


	ITEM_GENERAL *pArmorItemGen = GetAttachItemGeneralByPosition(POS_CENTER);
	if(NULL == pArmorItemGen
		|| ITEMKIND_DEFENSE != pArmorItemGen->Kind)
	{// ¾Æ¸Ó ¾ÆÀÌÅÛ Ã¼Å©
		SendErrorMessage(T_FC_SHOP_BUY_COLOR_ITEM, ERR_INVALID_ARMOR_ITEM);
		return RES_BREAK;
	}
	if(pArmorItemGen->ItemInfo->SourceIndex != COLORItemNum_TO_ArmorSourceIndex(pColorItem->ItemNum))
	{// ItemNum üũ
		SendErrorMessage(T_FC_SHOP_BUY_COLOR_ITEM, ERR_PROTOCOL_INVALID_ITEMNUM, 1);
		return RES_BREAK;
	}


	int nColorCost = pColorItem->Price;


	// 2006-02-08 by cmkwon, ¼¼·ÂºÐÆ÷ ¼¼±Ý Àû¿ë
	float	fTotalTexPercent	= ms_pFieldIOCP->GetInfluenceTypeDistirbutionTexPercent(m_character.InfluenceType);
	int		nTotalTexSPI		= CAtumSJ::GetItemTexSPI(nColorCost, fTotalTexPercent);
	nColorCost					+= nTotalTexSPI;		// 2006-02-08 by cmkwon, ¼¼±ÝÀ» ´õÇÑ´Ù.


	ITEM_GENERAL *pMoney = m_ItemManager.GetFirstItemGeneralByItemNum(MONEY_ITEM_NUMBER);
	if (pMoney == NULL
		|| pMoney->CurrentCount < nColorCost)
	{
		if(NULL == pMoney)
		{// 2006-10-16 by cmkwon, SPI ¾ÆÀÌÅÛÀÌ ¾øÀ» °æ¿ì Ãß°¡
			m_ItemManager.InsertItemBaseByItemNum(MONEY_ITEM_NUMBER, 0, IUT_GENERAL);
		}
		SendErrorMessage(T_FC_SHOP_BUY_COLOR_ITEM, ERR_PROTOCOL_NOT_ENOUGH_MONEY);
		return RES_BREAK;
	}


	///////////////////////////////////////////////////////////////////////////////
	// 2005-12-06 by cmkwon, »ö»ó °ª°ú SPI °¨¾× ó¸®
	pArmorItemGen->ColorCode	= pColorItem->ItemNum;
	this->UpdateItemRenderInfo(POS_CENTER, TRUE);
	m_ItemManager.UpdateItemCountByPointer(pMoney, -nColorCost, IUT_SHOP);		// update money


	///////////////////////////////////////////////////////////////////////////////
	// 2005-12-06 by cmkwon, DB Update
	QPARAM_STORE_UPDATE_COLORCODE *pQParam = new QPARAM_STORE_UPDATE_COLORCODE;
	pQParam->ItemUniqueNumber	= pArmorItemGen->UniqueNumber;
	pQParam->ColorCode			= pArmorItemGen->ColorCode;
	ms_pFieldIOCP->m_pAtumDBManager->MakeAndEnqueueQuery(QT_StoreUpdateColorCode, this, m_character.AccountUniqueNumber, pQParam);


	///////////////////////////////////////////////////////////////////////////////
	// 2005-12-06 by cmkwon, Ŭ¶óÀ̾ðÆ®·Î Àü¼ÛÇÔ
	INIT_MSG_WITH_BUFFER(MSG_FC_SHOP_BUY_COLOR_ITEM_OK, T_FC_SHOP_BUY_COLOR_ITEM_OK, pSMsg, SendBuf);
	pSMsg->ItemUID64			= pArmorItemGen->UniqueNumber;
	pSMsg->ColorCode			= pArmorItemGen->ColorCode;
	SendAddData(SendBuf, MSG_SIZE(MSG_FC_SHOP_BUY_COLOR_ITEM_OK));


	igLock.auto_unlock_cancel();	// 2007-10-05 by cmkwon, 


	// 2007-08-27 by dhjin, ÆÇ°øºñ ó¸®
	this->SetExpediencyFundW(m_character.InfluenceType, nColorCost);


	return RES_RETURN_TRUE;
}
 
Newbie Spellweaver
Joined
Aug 15, 2010
Messages
31
Reaction score
34
A bug Preserver Complied!
Ida can help us recover some miss files.Good Luck!
 

Attachments

You must be registered for see attachments list
Junior Spellweaver
Joined
Jul 16, 2011
Messages
188
Reaction score
20
nice thanks!!!!!
DbgOut_Pre.h
Global.h
d3dx8math.h
??????????
 
Skilled Illusionist
Joined
Jul 10, 2008
Messages
371
Reaction score
94
recode/search on google missing file (lot are header and lib, you can find by searching), other need to be recoded by your self.

this release on state can be useful to learn about the game and can be useful to made some new tools have fun with this one.
 
Retired (Goddamn idiots)
Joined
Dec 3, 2003
Messages
391
Reaction score
483
many files are missing
No poop sherlock, refer to the following quote:
recode/search on google missing file (lot are header and lib, you can find by searching), other need to be recoded by your self.

this release on state can be useful to learn about the game and can be useful to made some new tools have fun with this one.
 
Back
Top