Accesories Upgrade Failed!!!

04/23/2016 18:04 .HeyEyay.#1
Anyone knows how to fix this? I Already search but I don't find any links to help me with this problem


[Only registered and activated users can see links. Click Here To Register...]
itemupgrade.lua


s.txt
04/23/2016 18:34 alfredico#2
I would start by debugging this function CItemUpgrade::SmeltSafetyAccessory and see why it points to fail.
04/23/2016 18:36 ZeroTwo02#3
Give your accessory.inc
04/24/2016 03:18 .HeyEyay.#4
This is my accessory.inc


Quote:
Originally Posted by alfredico View Post
I would start by debugging this function CItemUpgrade::SmeltSafetyAccessory and see why it points to fail.
this is the funcion of mine


Code:
BYTE	CItemUpgrade::SmeltSafetyAccessory(CUser* pUser, CItemElem* pItemMain, CItemElem* pItemMaterial, CItemElem* pItemProtScr )
{
	// Àç·á°¡ ¹®½ºÅæÀΰ¡?
	if( pItemMaterial->GetProp()->dwID != II_GEN_MAT_MOONSTONE && pItemMaterial->GetProp()->dwID != II_GEN_MAT_MOONSTONE_1 )
	{
		//pUser->AddDefinedText( TID_GAME_NOTEQUALITEM );
		return 0;
	}
	//	¾Ç¼¼¼*¸® º¸È£ÀÇ µÎ·ç¸¶¸®°¡ ¾Æ´Ò°æ¿ì ¸®ÅÏ
	if( pItemProtScr->GetProp()->dwID != II_SYS_SYS_SCR_SMELPROT4 )
	{
		//pUser->AddDefinedText( TID_GAME_NOTEQUALITEM );
		return 0;
	}
	//	Á¦·Ã¼öÄ¡°¡ maxÄ¡¸¦ ³Ñ¾úÀ»¶§ ¸®ÅÏ
	if( pItemMain->GetAbilityOption() >= MAX_AAO )	// 20
	{
		//pUser->AddDefinedText( TID_GAME_ACCESSORY_MAX_AAO );
		return 3;
	}


	// log
	LogItemInfo aLogItem;
	aLogItem.SendName	= pUser->GetName();
	aLogItem.RecvName	= "UPGRADEITEM_SMELTSAFETY";
	aLogItem.WorldId	= pUser->GetWorld()->GetID();
	aLogItem.Gold	= pUser->GetGold();
	aLogItem.Gold2	= pUser->GetGold();


	aLogItem.Action	= "N";
	g_DPSrvr.OnLogItem( aLogItem, pItemMaterial, pItemMaterial->m_nItemNum );
	pUser->RemoveItem( (BYTE)( pItemMaterial->m_dwObjId ), 1 );
	// ¾×¼¼¼*¸® º¸È£ÀÇ µÎ·ç¸¶¸® ·Î±× ³²±æ°Í
	ItemProp* pItemProp = pItemProtScr->GetProp();
	if( pItemProp )
	{
		g_dpDBClient.SendLogSMItemUse( "1", pUser, pItemProtScr, pItemProp );
		g_dpDBClient.SendLogSMItemUse( "2", pUser, NULL, pItemProp );
	}
	pUser->RemoveItem( (BYTE)( pItemProtScr->m_dwObjId ), 1 );


	// Á¦·Ã È®·ü
	DWORD dwProbability = CAccessoryProperty::GetInstance()->GetProbability( pItemMain->GetAbilityOption() );


	if( xRandom( 10000 ) > dwProbability )	// ½ÇÆÐ
	{
		pUser->AddPlaySound( SND_INF_UPGRADEFAIL );
		if( pUser->IsMode( TRANSPARENT_MODE ) == 0 )
			g_UserMng.AddCreateSfxObj( (CMover *)pUser, XI_INT_FAIL, pUser->GetPos().x, pUser->GetPos().y, pUser->GetPos().z );


		aLogItem.Action	= "L";
		g_DPSrvr.OnLogItem( aLogItem, pItemMain, pItemMain->m_nItemNum );


		return 2;
	}
	else	// ¼º°ø
	{
		pUser->AddPlaySound( SND_INF_UPGRADESUCCESS );
			
		if( pUser->IsMode( TRANSPARENT_MODE ) == 0)
			g_UserMng.AddCreateSfxObj( (CMover *)pUser, XI_INT_SUCCESS, pUser->GetPos().x, pUser->GetPos().y, pUser->GetPos().z);


		pUser->UpdateItem( (BYTE)pItemMain->m_dwObjId, UI_AO,  pItemMain->GetAbilityOption()+1 );


		aLogItem.Action		= "H";
		g_DPSrvr.OnLogItem( aLogItem, pItemMain, pItemMain->m_nItemNum );


		return 1;
	}
	return 0;
}
04/28/2016 03:01 .HeyEyay.#5
Bump
04/28/2016 03:06 fastdxbuy#6
come skype online :)